Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deDriver Class Reference

#include <deDriver_priv.hpp>

Inheritance diagram for deDriver:

Inheritance graph
[legend]
Collaboration diagram for deDriver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual deBoolean Init (HWND WindowHandle)=0
virtual deBoolean SetDisplay (deDisplay *Display)=0
virtual deBoolean Reset (deDisplay *Display=NULL)=0
const deDisplay * GetDisplay () const
 Get a pointer to the driver's internally-held display struct.

virtual deBoolean GetCurrentDisplay (long Adapter, deDisplay *Display) const=0
virtual deBoolean GetDisplayMode (long Adapter, long Mode, deDisplay *Display) const=0
virtual const deDriverCaps * GetCaps (long Adapter) const=0
 Fill a deDriverCaps structure with an adapter's device capabilities.

deRect UpdateWindowRect ()
 Update the driver's knowledge of the client-window rect.

deRect GetDisplayRect () const
 Get the driver's internally-held client-window rect.

virtual long GetAdapterCount () const=0
 Get the number of adapters supported under this driver.

virtual long GetModeCount (long Adapter) const=0
 Get the number of modes for a particular adapter.

virtual deBoolean WindowedAllowed (long Adapter) const=0
 Test whether windowed mode is allowed on a particular adapter.

virtual deBoolean ValidFormat (long Adapter, Resource ResourceType, BPP BPPType, ZPP ZPPType, BPP FrontBuffer, long ExtraFlag) const=0
 Test for a valid format for various resource types.

long BitDepth (BPP BPPType) const
 Get the bit-depth of a particular color format.

long BitDepth (ZPP ZPPType) const
 Get the bit-depth of a particular z-buffer format.

long StencilDepth (ZPP ZPPType) const
 Get the bit-depth devoted to stencil channel in z-buffer format.

deBoolean HasStencil (ZPP ZPPType) const
 Test whether a particular z-buffer format supports stenciling.

BPP DownSampleFormat (BPP OriginalFormat) const
virtual deBoolean AddVertexBuffer (IdeVertexBuffer *Vertex)=0
 Add a vertex buffer to the driver.

virtual deBoolean RemoveVertexBuffer (IdeVertexBuffer *Vertex)=0
 Remove a vertex buffer from the driver.

virtual deBoolean UpdateVertexBuffer (IdeVertexBuffer *Vertex)=0
 Update a vertex buffer so the driver's internal data matches it.

virtual deBoolean AddShader (IdeShader *Shader)=0
virtual deBoolean SetShader (IdeShader *Shader)=0
virtual deBoolean RemoveShader (IdeShader *Shader)=0
virtual deBoolean BeginFrame ()=0
 Call before rendering anything.

virtual deBoolean EndFrame ()=0
 Finish the render and update the front-buffer.

virtual deBoolean ClearFrame (deARGB Color, deBoolean ClearTarget=deTRUE, deBoolean ClearZBuffer=deTRUE, deBoolean ClearStencil=deTRUE)=0
 Clear the frame with a particular color.

virtual deBoolean Render (IdeVertexBuffer *Vertex, long IndexOffset, IdeVertexBuffer *IndexOverride)=0
 Render the selected Vertex Buffer to the back-buffer.

virtual deBoolean SetViewport (long X, long Y, long Width, long Height, deFloat MinZ, deFloat MaxZ)=0
 Set the screen-space viewport.

virtual deBoolean SetFOVClipping (deFloat FOV, deFloat Aspect, deFloat ClipNear, deFloat ClipFar)=0
 Set up a perspective view transformation.

virtual deBoolean SetOrthoClipping (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert=deFALSE)=0
 Set up an orthographic (parallel projection) view transformation.

virtual deBoolean SetFOVClippingSubRect (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deRect SubRect)=0
 Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

virtual deBoolean SetFOVClippingSubRectFloat (deFloat FOVY, deFloat Aspect, deFloat ClipNear, deFloat ClipFar, deFloatRect SubRect)=0
virtual deBoolean SetOrthoClippingSubRect (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deRect SubRect)=0
 Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

virtual deBoolean SetOrthoClippingSubRectFloat (deFloat Width, deFloat Height, deFloat ClipNear, deFloat ClipFar, deBoolean Invert, deFloatRect SubRect)=0
virtual deBoolean SetScissorRect (deRect ScissorRect)=0
virtual deBoolean SetCameraTransform (deTransformInfo *M)=0
 Set the camera transform (position and orientation).

virtual deBoolean SetCameraTransform (deVertex *Eye, deVertex *At, deVertex *Up)=0
virtual deBoolean SetCameraTranslation (deVertex *Translation)=0
virtual deBoolean SetCameraRotation (deVertex *Rotation)=0
virtual deBoolean ResetCameraIdentity ()=0
virtual deBoolean SetWorldTransform (deVertex *Eye, deVertex *At, deVertex *Up)=0
virtual deBoolean SetWorldTransform (deTransformInfo *Mat)=0
 Set the world transform (to take things from "object space" to "world space").

virtual deBoolean SetWorldTranslation (deVertex *Translation)=0
virtual deBoolean SetWorldRotation (deVertex *Rotation)=0
virtual deBoolean ResetWorldIdentity ()=0
virtual deBoolean AddBitmap (IdeBitmap *Bitmap)=0
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

virtual deBoolean AddBitmapProxy (IdeBitmapProxy *BitmapProxy)=0
 Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

virtual deBoolean RemoveBitmap (IdeBitmap *Bitmap)=0
 Removes a bitmap from a driver by deleting the internal driver texture.

virtual deBoolean RenderTo (IdeBitmap *Bitmap, long CubeMapFace)=0
virtual deBoolean ScreenShot (IdeBitmap *&pBitmap, deBoolean GrabWindow)=0
virtual deBoolean GetVideoTexture (IdeBitmap *pBitmap, long CubeMapFace)=0
virtual unsigned long GetRenderState (RenderState State)=0
 Get current value of the State passed in.

virtual deBoolean SetRenderState (const IdeRenderState *State)=0
 Set a class-based render-state (texture, material, or light).

virtual deBoolean SetRenderState (RenderState State, unsigned long Value)=0
 Set a value-based render-state.

virtual deBoolean EnableLight (long LightID, deBoolean Enable)=0
virtual deBoolean DisableAllLights ()=0
 Disable all fixed-function lights.

unsigned long GetQualityFlag (QualityFlag Flag)
 Get the status of a particular quality flag.

deBoolean SetQualityFlag (QualityFlag Flag, unsigned long Value)
 Set the status of a particular quality flag.

virtual IdeDriver::Types GetType () const=0
 Get the type of driver this is.

virtual deDriverInfoGetInfo () const=0
 Get some information about the driver.

long GetCount ()
void LogInfo (char *Data,...)
 Log text to the driver's log file.

deDriverStats * GetDriverStats ()
 Get a pointer to the driver's internal statistics structure.

void ResetDriverStats ()
 Reset the driver's internal statistics structure to all zeroes.


Protected Member Functions

 deDriver ()
virtual ~deDriver ()
void SetDefaultRenderstates ()
virtual void InvalidateRenderStates (deBoolean Valid)=0

Protected Attributes

deDisplay m_CurrentDisplay
HWND m_CurWindowHandle
long m_UniqueID
deRect m_ClientRect
deRect m_SourceRect
unsigned long m_RenderStates [RENDER_COUNT]
unsigned long m_QualityFlags [QUALITY_FLAG_COUNT]
deDriverStats m_Stats
deDriver::deViewport m_CurrentViewport

Constructor & Destructor Documentation

deDriver::deDriver   [protected]
 

deDriver::~deDriver   [protected, virtual]
 


Member Function Documentation

virtual deBoolean deDriver::AddBitmap IdeBitmap   Bitmap [pure virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::AddBitmapProxy IdeBitmapProxy   BitmapProxy [pure virtual]
 

Adds a bitmap to the driver, turning it into a driver texture, and possibly a render-target.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::AddShader IdeShader   Shader [pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::AddVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Add a vertex buffer to the driver.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::BeginFrame   [pure virtual]
 

Call before rendering anything.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

long deDriver::BitDepth ZPP    ZPPType const [virtual]
 

Get the bit-depth of a particular z-buffer format.

Implements IdeDriver.

long deDriver::BitDepth BPP    BPPType const [virtual]
 

Get the bit-depth of a particular color format.

Implements IdeDriver.

virtual deBoolean deDriver::ClearFrame deARGB    Color,
deBoolean    ClearTarget = deTRUE,
deBoolean    ClearZBuffer = deTRUE,
deBoolean    ClearStencil = deTRUE
[pure virtual]
 

Clear the frame with a particular color.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::DisableAllLights   [pure virtual]
 

Disable all fixed-function lights.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

IdeDriver::BPP deDriver::DownSampleFormat BPP    OriginalFormat const
 

virtual deBoolean deDriver::EnableLight long    LightID,
deBoolean    Enable
[pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::EndFrame   [pure virtual]
 

Finish the render and update the front-buffer.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual long deDriver::GetAdapterCount   const [pure virtual]
 

Get the number of adapters supported under this driver.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual const deDriverCaps* deDriver::GetCaps long    Adapter const [pure virtual]
 

Fill a deDriverCaps structure with an adapter's device capabilities.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

long deDriver::GetCount   [virtual]
 

Implements IdeDriver.

virtual deBoolean deDriver::GetCurrentDisplay long    Adapter,
deDisplay *    Display
const [pure virtual]
 

Fill a deDisplay with an adapter's CURRENT (even un-renderable) display settings. If a fullscreen rendering mode has not been set up, this will be the desktop settings.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

const IdeDriver::deDisplay * deDriver::GetDisplay   const [virtual]
 

Get a pointer to the driver's internally-held display struct.

Implements IdeDriver.

virtual deBoolean deDriver::GetDisplayMode long    Adapter,
long    Mode,
deDisplay *    Display
const [pure virtual]
 

Feed in a display struct to be filled in for the enumerated mode

Parameters:
Display [in, out] pointer to a user-created deDisplay struct to be filled in, may not be NULL

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

deRect deDriver::GetDisplayRect   const [virtual]
 

Get the driver's internally-held client-window rect.

Implements IdeDriver.

IdeDriver::deDriverStats * deDriver::GetDriverStats   [virtual]
 

Get a pointer to the driver's internal statistics structure.

Implements IdeDriver.

virtual deDriverInfo* deDriver::GetInfo   const [pure virtual]
 

Get some information about the driver.

Implements IdeDriver.

Implemented in deDirect3D8, and deDirect3D9.

virtual long deDriver::GetModeCount long    Adapter const [pure virtual]
 

Get the number of modes for a particular adapter.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

unsigned long deDriver::GetQualityFlag QualityFlag    Flag [virtual]
 

Get the status of a particular quality flag.

Implements IdeDriver.

virtual unsigned long deDriver::GetRenderState RenderState    State [pure virtual]
 

Get current value of the State passed in.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual IdeDriver::Types deDriver::GetType   const [pure virtual]
 

Get the type of driver this is.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::GetVideoTexture IdeBitmap   pBitmap,
long    CubeMapFace
[pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

deBoolean deDriver::HasStencil ZPP    ZPPType const [virtual]
 

Test whether a particular z-buffer format supports stenciling.

Implements IdeDriver.

virtual deBoolean deDriver::Init HWND    WindowHandle [pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual void deDriver::InvalidateRenderStates deBoolean    Valid [protected, pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

void deDriver::LogInfo char *    Data,
...   
[virtual]
 

Log text to the driver's log file.

Implements IdeDriver.

virtual deBoolean deDriver::RemoveBitmap IdeBitmap   Bitmap [pure virtual]
 

Removes a bitmap from a driver by deleting the internal driver texture.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::RemoveShader IdeShader   Shader [pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::RemoveVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Remove a vertex buffer from the driver.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::Render IdeVertexBuffer   Vertex,
long    IndexOffset,
IdeVertexBuffer   IndexOverride
[pure virtual]
 

Render the selected Vertex Buffer to the back-buffer.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::RenderTo IdeBitmap   Bitmap,
long    CubeMapFace
[pure virtual]
 

Sets the current render-target to the bitmap passed in, if the bitmap can be a render-target.

Parameters:
pBitmap [in] Bitmap that is a render-target to be rendered to. This bitmap will only act as a handle to the internal driver texture being used, it doesn't contain a copy of what the video card's texture stores

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::Reset deDisplay *    Display = NULL [pure virtual]
 

Reset the driver, possibly with altered display properties. Resetting will cause all vertex buffers and textures to be flushed

Parameters:
Display [in] user-defined display settings, may be NULL to keep current settings

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::ResetCameraIdentity   [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

void deDriver::ResetDriverStats   [virtual]
 

Reset the driver's internal statistics structure to all zeroes.

Implements IdeDriver.

virtual deBoolean deDriver::ResetWorldIdentity   [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::ScreenShot IdeBitmap *&    pBitmap,
deBoolean    GrabWindow
[pure virtual]
 

Copies the frontbuffer into the bitmap specified cannot be a render-target

Parameters:
pBitmap [out] Bitmap pointer that is to have the screen data copied into. A new deBitmap object will be created internally, and its address stored into this parameter. After the data is copied, you must save the file to disk manually, if desired.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetCameraRotation deVertex   Rotation [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetCameraTransform deVertex   Eye,
deVertex   At,
deVertex   Up
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetCameraTransform deTransformInfo   M [pure virtual]
 

Set the camera transform (position and orientation).

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetCameraTranslation deVertex   Translation [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

void deDriver::SetDefaultRenderstates   [protected]
 

virtual deBoolean deDriver::SetDisplay deDisplay *    Display [pure virtual]
 

Set the display up, creating a new internal render device

Parameters:
Display [in] user-defined display settings, may not be NULL

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetFOVClipping deFloat    FOV,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar
[pure virtual]
 

Set up a perspective view transformation.

Implements IdeDriver.

Implemented in deOpenGL.

virtual deBoolean deDriver::SetFOVClippingSubRect deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deRect    SubRect
[pure virtual]
 

Set up a perspective view transformation with a sub-rect specified in the [0,1] range.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetFOVClippingSubRectFloat deFloat    FOVY,
deFloat    Aspect,
deFloat    ClipNear,
deFloat    ClipFar,
deFloatRect    SubRect
[pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetOrthoClipping deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert = deFALSE
[pure virtual]
 

Set up an orthographic (parallel projection) view transformation.

Implements IdeDriver.

Implemented in deOpenGL.

virtual deBoolean deDriver::SetOrthoClippingSubRect deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deRect    SubRect
[pure virtual]
 

Set up an orthographic (parallel projection) view transformation with a sub-rect specified in the [0,1] range.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetOrthoClippingSubRectFloat deFloat    Width,
deFloat    Height,
deFloat    ClipNear,
deFloat    ClipFar,
deBoolean    Invert,
deFloatRect    SubRect
[pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

deBoolean deDriver::SetQualityFlag QualityFlag    Flag,
unsigned long    Value
[virtual]
 

Set the status of a particular quality flag.

Implements IdeDriver.

virtual deBoolean deDriver::SetRenderState RenderState    State,
unsigned long    Value
[pure virtual]
 

Set a value-based render-state.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetRenderState const IdeRenderState   State [pure virtual]
 

Set a class-based render-state (texture, material, or light).

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetScissorRect deRect    ScissorRect [pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D9.

virtual deBoolean deDriver::SetShader IdeShader   Shader [pure virtual]
 

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetViewport long    X,
long    Y,
long    Width,
long    Height,
deFloat    MinZ,
deFloat    MaxZ
[pure virtual]
 

Set the screen-space viewport.

Implements IdeDriver.

Implemented in deOpenGL.

virtual deBoolean deDriver::SetWorldRotation deVertex   Rotation [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetWorldTransform deTransformInfo   Mat [pure virtual]
 

Set the world transform (to take things from "object space" to "world space").

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetWorldTransform deVertex   Eye,
deVertex   At,
deVertex   Up
[pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::SetWorldTranslation deVertex   Translation [pure virtual]
 

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

long deDriver::StencilDepth ZPP    ZPPType const [virtual]
 

Get the bit-depth devoted to stencil channel in z-buffer format.

Implements IdeDriver.

virtual deBoolean deDriver::UpdateVertexBuffer IdeVertexBuffer   Vertex [pure virtual]
 

Update a vertex buffer so the driver's internal data matches it.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

deRect deDriver::UpdateWindowRect   [virtual]
 

Update the driver's knowledge of the client-window rect.

Implements IdeDriver.

virtual deBoolean deDriver::ValidFormat long    Adapter,
Resource    ResourceType,
BPP    BPPType,
ZPP    ZPPType,
BPP    FrontBuffer,
long    ExtraFlag
const [pure virtual]
 

Test for a valid format for various resource types.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.

virtual deBoolean deDriver::WindowedAllowed long    Adapter const [pure virtual]
 

Test whether windowed mode is allowed on a particular adapter.

Implements IdeDriver.

Implemented in deDirect3D8, deDirect3D9, and deOpenGL.


Member Data Documentation

deRect deDriver::m_ClientRect [protected]
 

deDisplay deDriver::m_CurrentDisplay [protected]
 

struct deDriver::deViewport deDriver::m_CurrentViewport [protected]
 

HWND deDriver::m_CurWindowHandle [protected]
 

unsigned long deDriver::m_QualityFlags[QUALITY_FLAG_COUNT] [protected]
 

unsigned long deDriver::m_RenderStates[RENDER_COUNT] [protected]
 

deRect deDriver::m_SourceRect [protected]
 

deDriverStats deDriver::m_Stats [protected]
 

long deDriver::m_UniqueID [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 12 20:14:01 2005 for Destiny3D by doxygen1.3-rc3